Share via


System.Collections.ObjectModel.KeyedCollection<TKey,TItem>。ChangeItemKey 方法

本文提供此 API 參考文件的補充備註。

ChangeItemKey(TItem, TKey)方法不會修改內嵌的item索引鍵;它只會取代儲存在查閱字典中的索引鍵。 因此,如果 newKey 與內嵌在 item的密鑰不同,則無法使用 所傳回的GetKeyForItem密鑰進行存取item

如果 沒有查閱字典, KeyedCollection<TKey,TItem> 則這個方法不會執行任何動作。

中的每個索引鍵都必須是唯一 KeyedCollection<TKey,TItem> 的。 索引鍵不可以是 null

此方法是 O(1) 作業。

實作者的注意事項

修改內嵌在專案中的索引鍵之前,您必須先呼叫此方法,才能更新查閱字典中的索引鍵。 如果字典建立閾值是 -1,則不需要呼叫這個方法。

請勿將 ChangeItemKey 方法公開為衍生類別的公用方法。 誤用此方法會使查閱字典與專案索引鍵不同步。 例如,將索引鍵設定為 null ,然後將它設定為另一個值,會將專案的多個索引鍵新增至查閱字典。 在內部公開這個方法以允許可變動的專案索引鍵:當專案的索引鍵變更時,這個方法會用來變更查閱字典中的索引鍵。